"""
宿舍电费公平分摊
这个月的宿舍电费花了500元，宿舍有10个人，大家要凑够100元来缴纳这个电费。
为了公平起见，按照每个人的用电器功率和每天用电时间计算比率。
设计一个程序，让大家输入自己的用电器功率（有1到多个电器）以及对应的平均每天使用时间，结束一个人输入后打印该同学的用电总功率，
最后按比率计算每个人应出多少钱。

提示：
1. 你可以使用一个循环来收集每个室友的用电信息。每次循环中，再使用一个子循环来收集该室友的所有用电器的功率和使用时间，
    当捕获到非用电信息时（即非数字）结束循环。
2. 用电总功耗可以通过功率乘以使用时间得到。所有室友的用电总功耗之和就是宿舍的总功耗。
3. 每个室友应缴纳的电费 = (该室友的总功耗 / 宿舍的总功耗) * 100元。
"""

# 要交的电费：
total_cost = 100
# 人数：
num_people = 10
# 储存个人的电功率和对应的费用：
people_power_r = []

# 直接循环10次
for count in range(num_people):
    try:
        num_appliances = int(input("请输入你使用的电器数量："))
        total_power = 0
        for i in range(num_appliances):
            power = float(input(f"请输入第{i + 1}个电器的功率（单位：瓦）"))
            time = float(input(f"请输入第{i + 1}个电器平均每天的使用时间（单位：小时）："))
            if time > 24:
                print("每天平均用电不会超过24小时")
                time = float(input(f"请输入第{i + 1}个电器平均每天的使用时间（单位：小时）："))
            total_power = power * time + total_power
        print(f"你的用电总功率为：{total_power}瓦时\n")
        people_power_r.append(total_power)
    except ValueError:
        print("输入错误，请重新输入。")

# 总功率的计算
total_power_all = sum(people_power_r)
# 计算每个人的费用比率并得出对应的电费
for i, power in enumerate(people_power_r):
    r = power / total_power_all
    cost = r * total_cost
    print(f"第{i + 1}位同学应出的电费为：{cost:.2f}元")